System and method for efficient delivery of multi-unicast communication traffic

ABSTRACT

Disclosed is a system and method for the delivery of multi-unicast communication traffic. A multimedia router is adapted to analyze and identify contents which it handles and one or more access nodes are adapted to receive one or more of the identified contents, cache contents based on said identification; and use cached contents as substitutes for redundant traffic, received by the same access node.

RELATED APPLICATIONS

The present application claims the benefit of U.S. Provisional Patent Application Ser. No. 61/225,269 filed on Jul. 14, 2009, which is hereby incorporated into this application by reference in its entirety.

FIELD OF THE INVENTION

The present invention generally relates to the field of Computer Networks. More specifically, the present invention relates to a system and method for efficient delivery of multi-unicast communication traffic in computerized networks.

BACKGROUND

In recent years, the offering of broadband capabilities to the end users is becoming a commodity. Major consuming drivers for these capabilities are the demand for live and on-demand content streaming to end user. The main issue with this is the very high bandwidth requirements these types of services impose on the network.

When looking specifically at wireless networks, an additional big issue arises. Wireless networks are characterized as having limited bandwidth, unstable behavior of the RF link, high error rates and long delays that evolve throughout the networks and are thus far from being the optimal infrastructure for these types of applications.

Much work has been done in recent years in order to further optimize the delivery of this type of content over different networks thus reducing the traffic load throughout the network and improving the overall network

Currently 3 main technologies exist for moving live content from a source to multiple destinations:

1. Broadcast—usually done over dedicated networks which are specifically built for content broadcast, such as DVB-S, DVB-T, DVB-H and many others;

2. Multicast (IGMP)—a protocol defined over an IP network to stream identical content to multiple users; and

3. Unicast—a method for transmitting content to each user over a dedicated link from a source to a destination.

In new and modern content delivery systems personalization capabilities are a key requirement. The ability to personalize live content to end users in terms of bit rate and/or special content add-ons such as adverts is essential. Multicast streaming delivery systems can't provide the means to personalize the content. On the other hand personalized unicast streaming is not cost effective due to the high cost-per-bit associated with it.

The solutions that exist today for moving on-demand content to end users are based on signaling re-direction between the main server and local servers, by deploying local servers. This type of solution has several drawbacks as it requires business agreements between the operators controlling the main servers and the local operators controlling the local servers. In addition, issues exist regarding the traffic management and traffic statistics as these aren't centralized in the main server thus driving a much more complicated billing solution.

In mobile networks this type of solution isn't feasible due to the mobility of the terminal between areas served by different local servers.

Thus, a new “unicast natured” autonomous caching solution, which works in a transparent manner both regarding the central server and the end user without influencing the way the network is managed and served, is required.

The present invention discloses a system and method for providing some or all of the following:

-   -   Means of sending live personalized content over a network while         consuming bandwidth substantially similar to that of multicast         streaming;     -   Means of caching on-demand content at, or at the vicinity of,         the access points, while maintaining the behavior of a         centralized CDN (content delivery network), and supporting         mobility in wireless networks; and     -   Means of “adjusting” wireline and wireless network         infrastructures to enable optimized high bandwidth media         streaming.

SUMMARY OF THE INVENTION

The present invention is a system and method for efficient delivery of multi-unicast communication traffic. According to some embodiments of the present invention, there may be provided clusters comprising one or more multimedia routers functionally associated with one or more access nodes. The one or more multimedia routers may be adapted to utilize a recognition algorithm for examining/analyzing and accordingly marking/identifying specific contents. According to further embodiments of the present invention, one or more of the access nodes may be adapted to cache certain contents based on their marking/identification and to later use some or all of their cached contents, and/or identical live contents of a different session with the same access node; as substitutes for redundant traffic it is receiving/handling. According to further embodiments of the present invention, a traffic optimization mechanism may be adapted to adjust contents' transfer rate so as to substantially optimally-match current network conditions, based on flow control information passed from one or more terminals/access-points through the network.

According to some embodiments of the present invention, the multimedia routers may be located substantially in proximity to the Internet/service-servers entry/gateway into the network. Multimedia routers may be implemented as a separate box, as a software module placed in current systems or as a combination of software modules on both current hardware components as well as new ones. Multimedia routers may receive some or all media content/streams coming from the Internet and/or the service servers, and may run a content recognition algorithm using signaling information (e.g. Hypertext Transfer Protocol (HTTP), Real Time Streaming Protocol (RTSP)), a packet inspection algorithm, and/or a combination of both. Accordingly, contents may be paired with a unique ID, whereas the ID information may be passed to the access nodes alongside the actual content (e.g. through a management message protocol), and/or via a separate dedicated interface, and may then be used by the access nodes to detect redundant traffic it is receiving.

According to some embodiments of the present invention, the multimedia routers may receive management messages from the access nodes regarding sessions/streams that may be halted by them and regenerated locally in one or more of the access nodes, and regarding halted sessions/streams that should be fully transferred by multimedia routers. The multimedia routers may inspect relevant portions of the incoming sessions/streams and information received from the access nodes and may accordingly identify sessions/streams that are to be halted and halted sessions/streams that are to be fully transferred. According to other embodiments of the present invention, focused at controlled-protocols/acknowledged-communication (e.g. TCP), an HTTP proxy server may be implemented in one or more of the multimedia routers, or may be functionally associated with them. The HTTP proxy may manage the transmission of its cached content to the access nodes. Furthermore, when available in the network, one or more of the access nodes may send the proxy server information pertaining to the utility/condition/propagation-rate of the network towards one or more given terminals/accesses, thus enabling the HTTP proxy server to control the rate of TCP packets being sent out, so as to substantially optimally match the current network conditions.

According to some embodiments of the present invention, the multimedia routers may manipulate halted data streams so as to only send substantially small size token packets to the access nodes. These token packets may enable the access nodes to reproduce the content either from other fully transferred one or more streams/sessions containing the identical content (e.g. for a live session) or from its local cache (e.g. on-demand content stored on the access nodes' local cache).

According to some embodiments of the present invention, access nodes may be located substantially in proximity to the network's access point(s). Access nodes may inspect the content of some or all unicast streams/sessions and the corresponding ID information received from the multimedia routers. Upon identification of an incoming unicast stream/session as being redundant (e.g. carrying identical content to that carried by a different stream/session receive this access node for live content, or carrying content stored on the local cache for on-demand content), the access node may send a dedicated management message to the respective multimedia router instructing it to halt that stream/session. Once the multimedia router has halted the stream/session, it may start sending only token packets to the respective access node, thus enabling it to locally regenerate the original content. After regenerating the genuine packets the access node may transfer them out to the relevant terminal. The access node may further support the insertion of personalized information into regenerated packets, such as advertisements.

According to further embodiments of the present invention, the stream/session may be kept halted until the access node detects that the cause for halting no longer exists, due to one of several possible reasons (e.g. different [i.e. substituting] ‘identical content carrying’ stream/session has been halted; substitute content stored on the local access node's cache has been removed to make place for other, higher rated, content), after which a ‘re-stream/re-transmit management message’ may be sent from the access node to its respective multimedia router, causing it to stream/transmit the complete stream/session from that point on.

According to some embodiments of the present invention, in the event that an incoming unicast stream is recognized by an access node as an on-demand stream/content which is not locally stored on its local cache, the access node may utilize a decision algorithm to determine whether this content is to be stored locally. If the cache is full, the access node may use a content rating algorithm as to decide what content should be removed from the cache in order to make place for the new one. Additionally (or alternatively), content may be downloaded to the access nodes' local cache in a push mode.

According to some embodiments of the present invention, access nodes may probe flow control information sent from the terminals/access-points to the network. Based on the information gathered, the access nodes may be able to Trans-rate (i.e. change the rate of) any of the streams being sent to that terminal, setting it at a substantially optimal rate, thus reducing packet-loss in the network. Furthermore, access nodes may run a ‘smart scheduling mechanism’enabling them to control scheduling/policing decisions according to the specific application of each stream. According to other embodiments of the present invention, flow control information sent from the terminals/access-points to the network may be passed back to the multimedia routers' HTTP proxy servers, which may accordingly set the rate of the packets sent to the access nodes for that session to the appropriate rate which may reduce the number of packets lost in the network. According to some embodiments of the present invention, multimedia routers and access nodes may route data streams to the current access point (e.g. cell) in which their targeted terminal(s) is located and/or enable a hand-off between cells, in networks supporting nomadic terminals (e.g. Mobile Cellular, Wimax).

According to some embodiments of the present invention, each or some of the aforementioned network access nodes may comprise a first communication module adapted to receive one or more data streams, wherein each of the one or more data streams is addressed to a separate terminal connected to said access node through a second communication module;

According to further embodiments of the present invention, the access node's second communication module may be adapted to maintain a first communication session with a first terminal and a second communication session with a second terminal.

According to further embodiments of the present invention, each or some of the network access nodes may comprise a stream generator adapted to use at least a portion of a received data stream addressed to the first terminal in order to generate at least a portion of a data stream sent to the second terminal through the second communication session.

According to further embodiments of the present invention, the access node's first and the second communication modules may each comprise one or more communication sub-modules. Furthermore, at least some of said one or more communication sub-modules may run on a different physical interface.

According to further embodiments of the present invention, the access node may further comprise a data stream cache that may be adapted to temporarily store at least a portion of the received data stream addressed to the first terminal. The access node's stream generator may use data stored in the cache in order to generate the data stream sent to the terminal over the second session. According to further embodiments of the present invention, the cache's storage policy may be based on a rating algorithm adapted to rate/grade at least some of the data streams. According to yet further embodiments of the present invention, the access node's data stream cache may be further adapted to receive and temporarily store pushed non-addressed data.

According to further embodiments of the present invention, the access node may further comprise control logic that may be adapted to detect when the second terminal requests the same stream as the first terminal requested and may be further adapted to trigger the stream generator in response to the detection. The control logic may be further adapted to detect when the second terminal requests content that is already cached locally in the access node and to trigger the stream generator in response to the detection. Furthermore, the control logic may be adapted to signal an associated network router to halt transmission of the stream requested by the second terminal.

According to further embodiments of the present invention, the control logic may be further adapted to signal an associated network proxy to send receipt acknowledgments of TCP/IP packets associated with the data stream requested by the second terminal.

According to further embodiments of the present invention, the stream generator may be further adapted to introduce terminal specific content into one or more of the data streams it has generated. The terminal specific content may be based on a request from its destination terminal. According to yet further embodiments of the present invention, the control logic may be further adapted to signal its associated network router not to halt transmission of terminal specific content requested by the second terminal.

According some embodiments of the present invention, each or some of the aforementioned network-gateway/multimedia routers may comprise a first communication module that may be adapted to establish communication sessions with one or more content sources; a second communication module that may be adapted to establish a communication session with each of one or more network terminal access nodes.

According to further embodiments of the present invention, each or some of the aforementioned network-gateway/multimedia routers may further comprise routing logic that may be adapted to sniff the second communication module for data stream requests, wherein a first data stream request from a first terminal and a second data stream request from a second terminal may be coming from terminals connected to the same access node.

According to further embodiments of the present invention, the routing logic may be adapted to perform some or all of the following: (1) forward through the first communication module the first and the second requests to the source of the requested content, (2) forward to the first access node one or more data streams received in response to the forwarded first and second requests, and (3) to halt forwarding of a received data stream in response to signaling information from the first access node.

According to further embodiments of the present invention, the network-gateway/multimedia routers' first and the second communication modules may each comprise one or more communication sub-modules. Further, at least some of said one or more communication sub-modules may run on a different physical interface.

According to further embodiments of the present invention, the routing logic may be further adapted to resume the streaming of a halted data stream in response to signaling information from the first access node.

According to further embodiments of the present invention, the network-gateway/multimedia router may further comprise a proxy server functionally associated with it. The proxy server may be adapted to cache content locally, and the routing logic may be further adapted to forward said proxy's locally cached content towards the first access node as full stream when said content is not cached at the first access node, and as control tokens when the content is locally cached at the first access node.

According to further embodiments of the present invention, the control tokens may be used by the first access node to reproduce streams substantially identical to the full streams, based on said locally cached content cached at the first access node.

According to other embodiments of the present invention, each or some of the aforementioned network access nodes may comprise a first communication module that may be adapted to receive one or more data streams, wherein each of the one or more data streams may be addressed to a terminal connected to the access node through a second communication module.

According to further embodiments of the present invention, the second communication module may be adapted to maintain a first communication session with a first application running on a terminal and a second communication session with a second application running on the same terminal. The stream generator may be adapted to use at least a portion of a received data stream addressed to the first application in order to generate at least a portion of a data stream sent to the second application through the second communication session.

According to further embodiments of the present invention, each or some of the aforementioned network-gateway/multimedia routers may comprise a first communication module that may be adapted to establish communication sessions with one or more content sources, and a second communication module that may be adapted to establish a communication session with each of one or more network terminal access nodes.

According to further embodiments of the present invention, each or some of the aforementioned network-gateway/multimedia routers may further comprise routing logic that may be adapted to sniff the second communication module for data stream requests, a first data stream request from a first application running on a terminal and a second data stream request from a second application running on the same terminal, which terminal may be connected to an access node.

According to further embodiments of the present invention, the routing logic may be adapted to perform some or all of the following: (1) forward through the first communication module the first and the second requests to the source of the requested content, (2) forward to the first access node one or more data streams received in response to the forwarded first and second requests, and (3) to halt forwarding of a received data stream in response to signaling information from the first access node.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:

FIGS. 1A and 1B present exemplary general network descriptions, in accordance with some embodiments of the present invention.

FIG. 1A presents a general view of an exemplary network that may enable the transfer and caching of traffic over unmanaged (e.g. UDP) nomadic networks (e.g. cellular), whereas FIG. 1B presents a general view of an exemplary network that may enable the transfer and caching of TCP traffic over managed and/or nomadic networks.

FIGS. 2A and 2B present examples of a multimedia router that accepts a UDP stream(2A)/TCP session(2B) from the Internet or from a streaming server, analyzes the content and transmits out modified traffic, in accordance with some embodiments of the present invention.

FIG. 3 presents an exemplary mechanism for optimizing traffic streaming, in accordance with some embodiments of the present invention.

FIGS. 4A and 4B present exemplary communication flows in which the multimedia router and the access node communicate to halt and resume streams(4A)/sessions(4B) between themselves for live content, in accordance with some embodiments of the present invention.

FIGS. 5A and 5B present exemplary communication flows in which the multimedia router and the access node communicate to halt and resume streams(5A)/sessions(5B) between themselves for on-demand content, in accordance with some embodiments of the present invention.

FIGS. 6A and 6B present exemplary communication flows and control messages which may be sent between the multimedia router and the respective access nodes, for a UDP stream (6A) or a TCP session (6B), so as to ensure continuous undisturbed data streaming, in accordance with some embodiments of the present invention.

FIG. 7 presents an exemplary integration of the present invention into a mobile cellular network, in accordance with some embodiments of the present invention.

FIG. 8 presents an exemplary cross layer optimization mechanism for mobile wireless networks, in accordance with some embodiments of the present invention.

FIG. 9 presents an exemplary integration of the present invention into a mobile Wimax network, in accordance with some embodiments of the present invention.

FIG. 10 presents an exemplary cross layer optimization mechanism for mobile Wimax networks, in accordance with some embodiments of the present invention.

It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention.

Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as “processing”, “computing”, “calculating”, “determining”, or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices.

Embodiments of the present invention may include apparatuses for performing the operations herein. This apparatus may be specially constructed for the desired purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only me (ROMs), ranaccess memories (RAMS) electrically programmable read-only memories (EPROMs), electrically erasable and programmable read only memories (EEPROMs), magnetic or optical cards, or any other type of media suitable for storing electronic instructions, and capable of being coupled to a computer system bus.

The processes and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the desired method. The desired structure for a variety of these systems will appear from the description below. In addition, embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the inventions as described herein.

Furthermore, it should be understood that any topology, technology and/or standard for computer networking, known today or to be devised in the future, may be applicable to the present invention.

The present invention is a system and method for efficient delivery of multi-unicast communication traffic. According to some embodiments of the present invention, there may be provided clusters comprising one or more multimedia routers functionally associated with one or more access nodes. The one or more multimedia routers may be adapted to utilize a recognition algorithm for examining/analyzing and accordingly marking/identifying specific contents. According to further embodiments of the present invention, one or more of the access nodes may be adapted to cache certain contents based on their marking/identification and to later use some or all of their cached contents, and/or identical live contents of a different session with the same access node; as substitutes for redundant traffic it is receiving/handling. According to further embodiments of the present invention, a traffic optimization mechanism may be adapted to adjust contents' transfer rate so as to substantially optimally-match current network conditions, based on flow control information passed from one or more terminals/access-points through the network.

Reference is now made to FIGS. 1A and 1B where a general network description, in accordance with some embodiments of the present invention, is shown. FIG. 1A presents a general view of an exemplary network that may enable the transfer and caching of traffic over unmanaged (e.g. UDP), possibly nomadic networks (e.g. cellular), whereas FIG. 1B presents a general view of an exemplary network that may enable the transfer and caching of TCP traffic transmission and caching over managed, possibly nomadic networks. As can be seen, live contents from the Internet and/or from a streaming server (UDP traffic) or Internet (TCP) traffic transmissions may be analyzed and identified/labeled at the multimedia router. Labeled contents may then be transported through the Transport Network Infrastructure to the access nodes where their labels/identities will be examined. Contents carrying identical content to that carried by a different stream (for live content)/session received by the same access node and/or carrying content stored on the local cache for on-demand content, may be regarded as redundant and the access node may send a dedicated management message to the respective multimedia router instructing it to halt that stream/session.

According to some embodiments of the present invention, the multimedia routers may be located substantially in proximity to the Internet/service-servers entry/gateway into the network. Multimedia routers may be implemented as a separate box, as a software module placed in current systems or as a combination of software modules on both current hardware components as well as new ones. Multimedia routers may receive some or all media content/streams coming from the Internet and/or the service servers, and may run a content recognition algorithm using signaling information (e.g. Hypertext Transfer Protocol (HTTP), Real Time Streaming Protocol (RTSP)), a packet inspection algorithm, and/or a combination of both. Accordingly, contents may be paired with a unique ID, whereas the ID information may be passed to the access nodes alongside the actual content (e.g. through a management message protocol) or in band, as part of the data stream and may then be used by the access nodes to detect redundant traffic it is receiving.

According to some embodiments of the present invention, the multimedia routers may receive management messages from the access nodes regarding sessions/streams that should be halted by them and regenerated locally in one or more of the access nodes, and regarding halted sessions/streams that should be fully transferred by multimedia routers. The multimedia routers may inspect relevant portions of the incoming sessions/streams and information received from the access nodes and may accordingly identify sessions/streams that are to be halted and halted sessions/streams that are to be fully transferred. According to other embodiments of the present invention, focused at controlled-protocols/acknowledged-communication (e.g. TCP), an HTTP proxy server may be implemented in the one or more of multimedia routers, or may be functionally associated with them. The HTTP proxy may manage the transmission of its cached content towards the access nodes. Furthermore, when available in the network, one or more of the access nodes may send the proxy server information pertaining to the utility/condition/propagation-rate of the network towards one or more given terminals/accesses, thus enabling the HTTP proxy server to control the rate of TCP packets being sent out, so as to substantially optimally match the current network conditions.

According to some embodiments of the present invention, the multimedia routers may manipulate halted data streams so as to only send substantially small size token packets to the access nodes. These token packets may enable the access nodes to reproduce the content either from other fully transferred one or more streams/sessions containing the identical content (e.g. for a live session) or from its local cache (e.g. on-demand content stored on the access nodes' local cache).

According to some embodiments of the present invention, access nodes may be located substantially in proximity to the network's access point(s). Access nodes may inspect the content of some or all unicast streams/sessions and the corresponding ID information received from the multimedia routers. Upon identification of an incoming unicast stream/session as being redundant (e.g. carrying identical content to that carried by a different stream/session received by this access node for live content, or carrying content stored on the local cache for on-demand content), the access node may send a dedicated management message to the respective multimedia router instructing it to halt that stream/session. Once the multimedia router has halted the stream/session, it may start sending only token packets to the respective access node, thus enabling it to locally regenerate the original content. After regenerating the genuine packets the access node may transfer them out to the relevant terminal. The access node may further support the insertion of personalized information, into regenerated packets, such as advertisements.

According to further embodiments of the present invention, the stream/session may be kept halted until the access node detects that the cause for halting no longer exists, due to one of several possible reasons (e.g. different [i.e. substituting] ‘identical content carrying’ stream/session has been halted; substitute content stored on the local access node's cache has been removed to make place for other, higher rated, content), after which a ‘re-stream/re-transmit management message’ may be sent from the access node to its respective multimedia router, causing it to stream/the complete strea/session from that point on.

According to some embodiments of the present invention, in the event that an incoming unicast stream is recognized by an access node as an on-demand stream/content which is not locally stored on its local cache, the access node may utilize a decision algorithm to determine whether this content is to be stored locally. If the cache is full, the access node may use a content rating algorithm to decide what content should be removed from the cache in order to make place for the new one. Additionally (or alternatively), content may be downloaded to the access nodes' local cache in a push mode, for example, upon a release of content that is expected to have a high user demand.

Reference is now made to FIGS. 2A and 2B, where, in accordance with some embodiments of the present invention, an example of a multimedia router that accepts a stream(2A)/session(2B) from the Internet or from a streaming server, analyzes the content and streams/transmits out UDP/TCP modified traffic. UDP/TCP traffic may be either untouched or implemented as minimal token packets including information that may be used by the access node to locally regenerate the original packets. These packets are encapsulated in any type of encapsulation and/or tunneling. The stream/content is received by the access node which analyzes it, handles it accordingly and streams the appropriate (regenerated or untouched) stream/content to the terminal.

Reference is now made to FIG. 3, where, in accordance with some embodiments of the present invention, an exemplary mechanism for optimizing traffic streaming according to information received from the lower layers of the network and introduced to the higher layers of the network is suggested. For networks in which flow control information is passed from the terminal/access through the network, this information may be used in higher layers of the transport, so as to adapt the transfer rate of the content to optimally match the network conditions.

According to some embodiments of the present invention, access nodes may probe flow control information sent from the terminals/access-points to the network. Based on the information gathered, the access nodes may be able to Trans-rate (i.e. change the rate of) any of the streams being sent towards that terminal, setting it at a substantially optimal rate, thus reducing packet-loss in the network. Furthermore, access nodes may run a ‘smart scheduling mechanism’ enabling them to control scheduling/policing decisions according to the specific application of each stream/session. According to other embodiments of the present invention, flow control information sent from the terminals/access-points to the network may be passed back to the multimedia routers' HTTP proxy servers, which may accordingly set the rate of the packets sent to the access nodes for that session to the appropriate rate which may reduce the number of packets lost in the network.

According to some embodiments of the present invention, the mechanism implemented in the access node may be adapted for sniffing of the flow control packets passed backwards from the terminal/access into the network, and controlling the bit-rate sent from the multimedia router to the terminal/access accordingly. This may be done using TransRating capabilities which may adjust the bit-rate of the content sent to the terminal/access so as to substantially match the actual current bit-rate the terminal is able to receive, in real-time, per stream.

According to further embodiments of the present invention, for content already available at the access node, only token packets generated by the multimedia router may be sent to the access node, which may regenerate the full traffic from its local cache or from an additional live stream it is receiving, sending the packets out at the optimized bit rate. This capability may reduce the number of packets lost and may thus improve the end to end network utilization.

According to further embodiments of the present invention, a scheduling mechanism may be implemented within the access node, ensuring on going substantially-optimal fit between each stream and the overall network conditions. Each stream may be granted a weight according to relevant parameters (e.g. type of application, required bit-rate, required QOS) and the scheduling mechanism may serve each stream accordingly, taking into consideration the network capabilities towards the specific terminal receiving each stream.

According to some embodiments of the present invention, in order to ensure that redundant content (either already locally stored on the access node's local cache for on-demand content or being streamed on a different stream to the access node for live content) isn't fully streamed from the multimedia router to the access node, a protocol of management messages may run between the multimedia router and the access node, controlling the actual streams.

The following section of the present invention's description provides examples of some of the communication flows practiced by it. It will, however, be clear to one of ordinary skill in the art that various specific communication details may change and that these are merely general examples of some of the possible embodiments of the present invention.

Reference is now made to FIGS. 4A and 4B, where, in accordance with some embodiments of the present invention, an illustration of exemplary communication flows in which the multimedia router and the access node communicate to halt and resume streams(4A)/sessions(4B) between themselves for live content. Reference is now made to FIGS. 5A and 5B, where in accordance with some embodiments of the present invention, illustrations of exemplary communication flows in which the multimedia router and the access node communicate to halt and resume streams(5A)/sessions(5B) between themselves for on-demand content.

According to some embodiments of the present invention, multimedia routers and access nodes may route data streams to the current access point (e.g. cell) in which their targeted terminal(s) is located and/or enable a hand-off between cells, in networks supporting nomadic terminals (e.g. Mobile Cellular, Wimax).

According to some embodiments of the present invention, in networks supporting nomadic behavior of the terminals (e.g. mobile cellular networks, WiMax networks) the system may support the detection and handover of streamed data between cells, thus the terminals may continue to receive continuous unaffected data steams/contents regardless of their current position within the network. Reference is now made to FIGS. 6A and 6B, where, in accordance with some embodiments of the present invention, illustrations of exemplary communication flows and control messages which may be sent between the multimedia router and the respective access nodes, over a unmanaged network (6A) or a controlled traffic transmission network (6B), so as to ensure continuous undisturbed data streaming between the streaming-server/Internet and the terminals. According to further embodiments of the present invention, information which is stored within the network relating to the location of the terminals in the network and the way the network is forwarding traffic from the center to its terminals may be used in this process. According to further embodiments of the present invention, a “handshake” solution, substantially similar to the one utilized between the multimedia router and the access nodes, may also take place when performing a handoff from an end point including a access node to one not including an access node and vice versa.

According to some embodiments of the present invention, the system may be integrated into/as-part-of a mobile cellular network. Reference is now made to FIG. 7 where an exemplary integration of the present invention into a mobile cellular network is shown. The main modules of the system may be located in the core network, the multimedia router between the service and Internet domains and the Gateway General Support Node (GGSN), and the access nodes in tRadio Access Network (RAN) adjacent to the Node-B elements and/or in the vicinity of the aggregation points on the other side.

Reference is now made to FIG. 8, where, in accordance with some embodiments of the present invention, an exemplary cross layer optimization mechanism for mobile wireless networks is shown. In this specific implementation of the mechanism the access node may include sniffing of the flow control packets passed backwards from Node-B, and controlling the bit-rate sent from the Radio Network Controller (RNC) towards the Node-B accordingly. This may be done using TransRating capabilities which may adjust the bit-rate of the content sent to Node-B, substantially to the actual current bit-rate that the RF link is able to receive, in real-time, per stream.

According to further embodiments of the present invention, for content already available at the access node, only tokens generated by the multimedia router may be sent, possibly at a constant bit rate (according to the defined streaming rate) to RNC and on to the access node, which may regenerate the full traffic from the local cache and/or form an additional live stream it is receiving, sending the packets out at substantially the optimized bit rate. This capability may reduce the number of lost packets in the network, thus improving the end to end network utilization, including the RF link itself.

According to some embodiments of the present invention, the system may be integrated into/as-part-of a mobile Wimax network. Reference is now made to FIG. 9 where an exemplary integration of the present invention into a mobile Wimax network is shown. The main modules of the system may be located in the Connectivity Service Network (CSN), the multimedia router between the service and Internet domains and the Access Service Network Gateway (ASN-GW), and the access nodes in the Access Service Network (ASN) substantially adjacent to the Base Station (BS) elements and/or in the vicinity of the aggregation points on the other side. In some cases in which the ASN-GW is located within the BS, the modules which are usually adjacent to the BS may be placed adjacent to the ASN-GW itself.

Reference is now made to FIG. 10, where, in accordance with some embodiments of the present invention, an exemplary cross layer optimization mechanism for mobile Wimax networks is shown. This specific implementation of the mechanism may be substantially similar to the above described implementation in mobile cellular networks.

While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention. 

1. A network access node comprising: a first communication module adapted to receive one or more data streams, wherein each of the one or more data streams is addressed to a separate terminal connected to said access node through a second communication module; said second communication module being adapted to maintain a first communication session with a first terminal and a second communication session with a second terminal; and a stream generator adapted to use at least a portion of a received data stream addressed to the first terminal in order to generate at least a portion of a data stream sent to the second terminal through the second communication session; wherein the first and the second communication modules each comprise one or more communication sub-modules; and at least some of said one or more communication sub-modules run on a different physical interface; and further comprising a data stream cache adapted to temporarily store at least a portion of the received data stream addressed to the first terminal and said generator uses data stored in said cache in order to generate the data stream sent to the terminal over the second session.
 2. The access node according to claim 1, wherein the cache storage policy based on a rating algorithm adapted to rate at least some of the data streams.
 3. The access node according to claim 2, wherein the data stream cache is further adapted to receive and temporarily store pushed non-addressed data.
 4. The access node according to claim 1, further comprising control logic adapted to detect when the second terminal requests a stream previously requested by the first terminal and further adapted to trigger said generator in response to the detection.
 5. The access node according to claim 4, wherein said control logic is adapted to signal an associated network router to halt transmission of the stream addressed to the second terminal.
 6. The access node according to claim 4, wherein said generator is further adapted to introduce terminal specific content into the generated data stream.
 7. The access node according to claim 6, wherein the terminal specific content is based on a request from its destination terminal.
 8. The access node according to claim 7, wherein said control logic is adapted to signal the associated network router not to halt transmission of terminal specific content requested by the second terminal.
 9. The access node according to claim 1, further comprising control logic adapted to detect when the second terminal requests content that is already cached locally in the access node and further adapted to trigger said generator in response to the detection.
 10. The access node according to claim 1, wherein said control logic is adapted to signal an associated network proxy to send receipt acknowledgments of TCP/IP packets associated with the data stream addressed to the second terminal.
 11. A network gateway router comprising: a first communication module adapted to establish communication sessions with one or more content sources; a second communication module adapted to establish a communication session with each of one or more network terminal access nodes; routing logic adapted to sniff the second communication module for data stream requests, including a first data stream request from a first terminal and a second data stream request from a second terminal, both of which terminals are connected to a first access node; and wherein said routing logic is adapted to: (1) forward through said first communication module the first and the second requests to one or more sources of the requested data streams, (2) forward to the first access node one or more data streams received in response to the forwarded first and second requests, and (3) to halt forwarding of a received data stream in response to signaling information from the first access node; wherein the first and the second communication modules each comprise one or more communication sub-modules; and at least some of said one or more communication sub-modules run on a different physical interface; and further comprising a data stream cache adapted to temporarily store at least a portion of a received data stream addressed to the first terminal and said generator uses data stored in said cache in order to generate a data stream sent to the second terminal over the second session.
 12. The network gateway router according to claim 11, wherein the routing logic is further adapted to resume the streaming of a halted data stream in response to signaling information from the first access node.
 13. The network gateway router according to claim 12, further comprising a proxy server said proxy server being adapted to cache content locally; wherein the routing logic is further adapted to forward a given content locally cached at said proxy server to the first access node as a full stream when the given content is not cached at said first access node, and as control tokens when the given content is locally cached at said first access node; and wherein said control tokens are used by the first access node to reproduce a stream substantially identical to said full stream, based on said content locally cached at said first access node.
 14. A network access node comprising: a first communication module adapted to receive one or more data streams, wherein each of the one or more data streams is addressed to a terminal connected to said access node through a second communication module; said second communication module being adapted to maintain a first communication session with a first application running on a terminal and a second communication session with a second application running on the same terminal; and a stream generator adapted to use at least a portion of a received data stream addressed to the first application in order to generate at least a portion of a data stream sent to the second application through the second communication session.
 15. A network gateway router comprising: a first communication module adapted to establish communication sessions with one or more content sources; a second communication module adapted to establish a communication session with each of one or more network terminal access nodes; routing logic adapted to sniff the second communication module for data stream requests, including a first data stream request from a first application running on a terminal and a second data stream request from a second application running on the same terminal, which terminal is connected to a first access node; and wherein said routing logic is adapted to: (1) forward through said first communication module the first and the second requests to a source of the requested data streams, (2) forward to the first access node one or more data streams received in response to the forwarded first and second requests, and (3) to halt forwarding of a received data stream in response to signaling information from the first access node; wherein the first and the second communication modules each comprise one or more communication sub-modules; and at least some of said one or more communication sub-modules run on a different physical interface; and further comprising a data stream cache adapted to temporarily store at least a portion of a received data stream addressed to the first application and said generator uses data stored in said cache in order to generate a data stream sent to the second application. 